比較新的團隊,或是有跟著時代進步的開發團隊應該都知道 DevOps 是指什麼,但是應該還是有很多工程師或是新手們不知道這到底是什麼吧
根據 維基百科 的解釋,這是一整套溝通合作的文化、運動或慣例。
我自己倒是比較喜歡稱之為是 開發團隊 跟 營運團隊 的協作規則、或是協作流程。
這邊比較多都是跟持續整合(Continuous Integration)、持續部屬(Continuous Delivery)、自動化測試(Test Automation)、設定自動化(Configuration Automation),其中很多都跟自動化執行有關,我覺得重點是放在用自動化執行簡化人員使用,畢竟這些階段的工作,都是重複性高的執行內容,非常適合自動化。
其他部分就是,容器的相關技術,畢竟開發環境容器化,也可以簡化部屬難度。加快測試環境的建置與部屬。
當然敏捷開發相關的內容也都有被列入這塊主題之中,畢竟 敏捷開發才是 Devops 誕生的來源啊 引用來源
接著解釋一些我比較不熟悉的字眼:
ChatOps:透過Chatbot協助營運團隊
NoOps:DevOps是透過自動化腳本去進行運維。NoOps則是透過AI自動化來進行運維。這是2017的新趨勢。參考資料來源
SecDevOps:把安全開發最佳實踐和方法融入 DevOps。簡單說就是將 Security也融入 DevOps,也就是字面上的意思。參考
Infrastructure as Code(IAC):其實,就是透過程式碼與預先定義好的組態檔,自動產生(provision)與管理IT基礎架構。
而且,這裡的IT基礎架構,並不只是針對虛擬機器,還包含Container,甚至是裸機(實體伺服器)的管理與部署。參考來源
Server & Network Automation:應該是指server跟網路設備的自動化建置。
IT Orchestration:這個有點難解釋,主要應該是說明協作中的自動化部分。還有跟管理控制有關的整合。
Containerization:其實就是容器化。wiki上面講 ,指的是作業系統層的虛擬化,現在大部分IT產業的容器化也都是指這件事情。
Docker、Kubernetes、Ansible:這些都是容器工具,大家就自己研究了